package com.lanou3g.code0420;

import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.util.Scanner;

/**
 * Created by dllo on 18/4/20.
 */
public class Main {
    public static void main(String[] args) {
        //TCP客户端
        //使用无参数构造方法
        //这个socket对象会自动绑定本地的一个没有被使用的端口号
        Socket socket = new Socket();
        PrintWriter pw = null;
        //connect  连接
        Scanner scanner = new Scanner(System.in);
        try {
            //让socket客户端连接到远程的服务器
            //需要指定  服务器的IP 地址和端口号
            socket.connect(new InetSocketAddress("127.0.0.1", 7788));
            //InetSocketAddress  本地连接
            //开启线程来读数据
            new ReadThread(socket).start();
            OutputStream os = socket.getOutputStream();

            pw = new PrintWriter(new OutputStreamWriter(os));
            pw.println("HelloSocket");
            while (true) {
                String line = scanner.nextLine();

                pw.println(line);
                pw.flush();

            }


        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (pw != null) {
                pw.close();
            }
            //socket对象使用完成后  也需要关闭
            try {
                socket.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
            scanner.close();//scanner使用完成后关闭
        }
    }


}
